'''
题目1：画出下面代码每一行的引用情况
a = 1
b = a
a = 2




题目2：画出下面代码每一行的引用情况
def test(num):
	num = num + 1
    result = "hello"
    return result
a = 10
r = test(a)

题目3：画出下面代码的内存情况
a = 1
a = "hello"
result = a.split("e")
a = [1, 2, 3]
a.append(5)
a = [3, 2, 1]
'''
'''

print题目4：有代码如下：
def demo1():
	# 1  value 不存在
    num = 10
    # 2  value is 10
    num = 20
    # 3  value is 20


def demo2():
	# 4 value 不存在
    num = 100
    # 5 value is 100

demo1()
# 6
demo2()
# 7

问题1：说说1 2 3 4 5 处num的值分别是多少，可以得出什么结论
问题2：在def demo1():上面写一行代码 num = 20,说说1 2 3 4 5 处num的值分别是多少，可以得出什么结论
def demo1():
	# 1  value is 20
    num = 10
    # 2  value is 10
    num = 20
    # 3  value is 20


def demo2():
	# 4 value is 20
    num = 100
    # 5 value is 100

num = 20
demo1()
# 6
demo2()
# 7


问题3：在6出增加一行代码num = 50 说说1 2 3 4 5 处num的值分别是多少，可以得出什么结论
def demo1():
	# 1  value 不存在
    num = 10
    # 2  value is 10
    num = 20
    # 3  value is 20


def demo2():
	# 4 value is 50
    num = 100
    # 5 value is 100

demo1()
num = 50
demo2()
# 7


问题4：如何让demo1和demo2中可以修改全局变量num的值，修改之后，7处num的值是多少

def demo1():
	# 1  value 不存在
    global num
    num = 10
    # 2  value is 10
    num = 20
    # 3  value is 20


def demo2():
    global num
	# 4 value is 20
    num = 100
    # 5 value is 100

demo1()
# 6 value is 20
demo2()
# 7 value is 100
'''
'''
题目5：返回值相关的题目
	1、定义一个函数实现一个功能，传递一个存数字的列表到函数中，计算出所有元素的和。
		调用函数得到结果，判断和是否是3的倍数，并打印出对应的结论
'''
print("题目5")

def sum_list(listargs):
    sum_temp = 0
    for i_ in listargs:
        sum_temp = sum_temp + i_
    return sum_temp

sum_demo = sum_list([2,3,8,5])
if sum_demo % 3 ==0:
    print(sum_demo, "是3的倍数")
else:
    print(sum_demo,"不是3的倍数")
'''
	2、定义一个函数，接收两个参数，第一个参数是列表，第二个参数不限制，函数所实现的功能是
		判断第一个参数列表中是否存在第二个参数这个元素，
		如果存在，则什么事情都不做，如果不存在则将第二个参数追加到列表的后边
'''
def compare(list_para,b_para):
    if b_para not in list_para:
        list_para.append(b_para)
        print(list_para)

compare([1,2,3],4)



'''
	3、定义一个函数，接收一个参数，这个参数是一个数字列表。功能是得到一个新的列表
	，新列表中的每一个元素是旧列表中的对应元素乘以5
'''

def func_my(a_para):
    list_new = list()
    for i in a_para:
        list_new.append(i*5)
    return list_new

print(func_my([1,2,3,4,5]))



# def demo1():
# 	# 1  value is 20
#     num = 10
#     # 2  value is 10
#     num = 20
#     # 3  value is 20
# 
# 
# def demo2():
# 	# 4 value is 20
#     num = 100
#     # 5 value is 100
#     print(num)
# 
# num = 20
# demo1()
# # 6
# demo2()
# # 7
# print(num)
# 
# def demo1():
# 	# 1  value 不存在
#     global num
#     num = 10
#     # 2  value is 10
#     num = 20
#     # 3  value is 20
# 
# 
# def demo2():
#     global num
# 	# 4 value is 20
#     num = 100
#     # 5 value is 100
# 
# demo1()
# # 6 value is 20
# print(num)
# demo2()
# # 7 value is 100
# print(num)